﻿/*script mapa api de google*/

var mapa;
var mapa2;
var marcadores = new Array();
var listaMuestras;
var baseImagen = '../../Content/img';
$(document).ready(function () {
    //*** script menu cascada (select equipo de medicion) dora
    $("#Idtipodemuestra").change(function () {
        cambiaElementos($("#Idtipodemuestra").val());
    });

    function cambiaElementos(cat) {
        var dd = document.getElementById("Iddeequipo");
        dd.options.length = 0;
        dd.options[0] = new Option("Cargando...");
        dd.selectedIndex = 0;
        dd.disabled = true;

        // Control de errores
        $("#Iddeequipo").ajaxError(function (event, request, settings) {
            dd.options[0] = new Option("Equipo incorrecto");
        });

        // Obtenemos los datos...
        $.getJSON("/Muestra/GetElements", { equipo: cat },
        function (data) {
            $.each(data, function (i, item) {
                dd.options[i] = new Option(item.Nombre, item.Identificador);

            });
            dd.disabled = false;
        });
    }
    //hasta aqui menu cascada equipo jejeje
    //*** script menu cascada (select variable) dora
    $("#Idtipodemuestra").change(function () {
        cambiaElementosVariable($("#Idtipodemuestra").val());
    });

    function cambiaElementosVariable(cat) {
        var dd = document.getElementById("Iddevariable");
        dd.options.length = 0;
        dd.options[0] = new Option("Cargando...");
        dd.selectedIndex = 0;
        dd.disabled = true;

        // Control de errores
        $("#Iddevariable").ajaxError(function (event, request, settings) {
            dd.options[0] = new Option("Variable incorrecto");
        });

        // Obtenemos los datos...
        $.getJSON("/Muestra/GetElementos", { muestra: cat },
        function (data) {
            $.each(data, function (i, item) {
                dd.options[i] = new Option(item.Nombre, item.Identificador);

            });
            dd.disabled = false;
        });
    }
    //hasta aqui menu cascada variable 
    $("table.tablesorter").tablesorter({ widthFixed: true, sortList: [[0, 0]] })
     .tablesorterPager({ container: $("#pager"), size: $(".pagesize option:selected").val() });
    //escritura para mostrar el slider
    $('.flexslider').flexslider({});
    //escritura para mostrar el calendario estatico 
    $("#datepicker").datepicker({});
    //escritura para mostrar el calendario a la hora de crear un detalle de equipo 
    $("#Fechadeinstalacion").datepicker({ dateFormat: 'yy-mm-dd' });
    //escritura para mostrar el calendario a la hora de seleccionar una fecha inicial en el reporte de muestras.
    $("#Fecha").datepicker({ dateFormat: 'yy-mm-dd' });
    //escritura para mostrar el calendario a la hora de seleccionar una fecha inicial en el reporte de muestras.
    $("#FechaFinal").datepicker({ dateFormat: 'yy-mm-dd' });
    //escritura para mostrar el calendario y los sliders de hora a la hora de crear una muestra..
    $('#Fechadecaptura').datetimepicker({
        showSecond: true,
        timeFormat: 'hh:mm:ss',
        dateFormat: 'yy-mm-dd'
    });

    // funcionalidad para el boton filtrar
    $('#BotonFiltro').click(function () {
        var indices;
        var primero = false;
        $.each($('#Filtro option:selected'), function (index, value) { // loop over each option
            if (!primero) {
                indices = value.value;
                primero = true;
            } else {
                indices = indices + ',' + value.value;
            }
        });
        obtenerMuestras($('#Filtro').attr("Name"), indices);
    });

    function obtenerMuestras(tipoFiltro, indice) {

        $(marcadores).each(function (i, e) {
            e.setMap(null);
        });
        marcadores.splice(0, marcadores.length);
        $.getJSON("/Mapa/" + tipoFiltro, { idFiltro: indice }, procesaObtenerMuestras);
    }

    function procesaObtenerMuestras(data) {
        listaMuestras = data;
        mostrarMuestras(data);
    }

    function mostrarMuestras(IdMuestra) {
        var filtro = IdMuestra;
        var bounds = new google.maps.LatLngBounds();
        mapa = new google.maps.Map(document.getElementById("mostrarmape"),
        {
            zoom: 10, center: new google.maps.LatLng(1.857222, -76.039474),
            region: "co",
            mapTypeId: google.maps.MapTypeId.ROADMAP
        });

        mapa.setCenter(new google.maps.LatLng(filtro.Latitud, filtro.Longitud, true));
        $(filtro.Lugares).each(function (i, lugar) {
            var options = { position: new google.maps.LatLng(lugar.Latitud, lugar.Longitud, true),
                map: null,
                icon: baseImagen + '/tiposlugar/' + lugar.TipolugarFoto,
                title: lugar.Tipo + ': ' + lugar.Nombre
            };
            var marcador = new google.maps.Marker(options);
            //inicio de experimento
            var cadenaMuestras = '';
            var variabletemp = new Array();
            $(lugar.Muestras).each(function (j, muestra) {
                if (variabletemp.indexOf(muestra.Variable) == -1) {
                    cadenaMuestras += '<img src="' + baseImagen + '/tipomuestra/' + muestra.TipomuestraFoto + '"' + '<label><a href=\"/Reporte/Lugar/?idLugar=' +
                    lugar.Identificador + '&idvariable=' + muestra.IdVariable + ' "\>' + muestra.Variable + '</a>:' +
                    muestra.Valor + ' ' + muestra.Unidad + '</label> ' + muestra.Fecha + '<br/>';
                }
                variabletemp = muestra.Variable;
            });
            //fin de experimento
            var infowindow1 = new google.maps.InfoWindow({
                content: lugar.Tipo + ':' + '<b>' + lugar.Nombre + '</b>'
                    + '<br>' +
                    '<img src="' + baseImagen + '/lugar/' + lugar.Foto + '"'
                    + '<br>' + '<br>' + lugar.Descripcion + '<br>' +
                    '<hr>' + cadenaMuestras + '<hr>'
            });

            google.maps.event.addListener(marcador, 'click', function () { infowindow1.open(mapa, marcador); });
            marcadores.push(marcador);
        });
        var count = 0;
        var interval = setInterval(function () {
            if (count < marcadores.length) {
                var marca = marcadores[count++];
                marca.setMap(mapa);
                marca.setAnimation(google.maps.Animation.BOUNCE);
                (function (mk) {
                    setTimeout(function () { mk.setAnimation(null); }, 500);
                })(marca);
            }
            else { clearInterval(interval); }
        }, 650);
    }

});
//*** Este Codigo permite Validar que sea un campo Numerico
function Solo_Numerico(variable) {
    Numer = parseInt(variable);
    if (isNaN(Numer)) {
        return "";
    }
    return Numer;
}
function ValNumero(Control) {
    Control.value = Solo_Numerico(Control.value);
}
//*** Fin del Codigo para Validar que sea un campo Numerico
//*** Este Codigo permite Validar que sea un campo alfabetico

function soloLetras(e) {
    key = e.keyCode || e.which;
    tecla = String.fromCharCode(key).toLowerCase();
    letras = " áéíóúabcdefghijklmnñopqrstuvwxyz";
    especiales = [8, 37, 39, 46];

    tecla_especial = false
    for (var i in especiales) {
        if (key == especiales[i]) {
            tecla_especial = true;
            break;
        }
    }

    if (letras.indexOf(tecla) == -1 && !tecla_especial)
        return false;
}

function limpia() {
    var val = document.getElementById("Nombre").value;
    var tam = val.length;
    for (i = 0; i < tam; i++) {
        if (!isNaN(val[i]))
            document.getElementById("Nombre").value = '';
    }
}
//*** Fin del Codigo para Validar que sea un campo alfabetico

